1ba479b8c4dfa1e210fbd637ae9d82bbf9354692,src/org/uecide/Sketch.java,Sketch,compile,#,2264

Before Change


            }
        }

        bullet("Compiling sketch...");
        setCompilingProgress(10);
        ArrayList<File>sketchObjects = compileSketch();

        if(sketchObjects == null) {
            error("Failed compiling sketch");
            return false;
        }

        bullet("Compiling core...");
        setCompilingProgress(20);

        if(!compileCore()) {
            error("Failed compiling core");
            return false;
        }

        setCompilingProgress(30);

        bullet("Compiling libraries...");

        if(!compileLibraries()) {
            error("Failed compiling libraries");
            return false;
        }

        setCompilingProgress(40);

        bullet("Linking sketch...");

        if(!compileLink(sketchObjects)) {
            error("Failed linking sketch");
            return false;
        }

        setCompilingProgress(50);

        if(!compileEEP()) {
            error("Failed extracting EEPROM image");
            return false;
        }

        setCompilingProgress(60);


        if(props.get("compile.lss") != null) {
            if(Preferences.getBoolean("compiler.generate_lss")) {
                File redirectTo = new File(buildFolder, sketchName + ".lss");

                if(redirectTo.exists()) {
                    redirectTo.delete();
                }

                boolean result = false;

                String output = "";

                try {
                    ctx.startBuffer(true);
                    result = compileLSS();
                    output = ctx.endBuffer();
                    PrintWriter pw = new PrintWriter(redirectTo);
                    pw.print(output);
                    pw.close();

                } catch(Exception e) {
                    result = false;
                }

                if(!result) {
                    error("Failed generating listing");
                    return false;
                }

                if(Preferences.getBoolean("compiler.save_lss") && !parentIsProtected()) {
                    try {
                        Base.copyFile(new File(buildFolder, sketchName + ".lss"), new File(sketchFolder, sketchName + ".lss"));

                        if(editor != null) {
                            editor.updateFilesTree();
                        }
                    } catch(Exception e) {
                        error(e);
                    }
                }
            }

        }

        setCompilingProgress(70);

        if(!compileHEX()) {
            error("Failed converting to HEX file");
            return false;
        }

        if((
            Preferences.getBoolean("compiler.save_hex") || Base.cli.isSet("force-save-hex") || Base.cli.isSet("cli")) 
            && !parentIsProtected()) {
            try {
                String exeSuffix = props.get("exe.extension");
                if (exeSuffix == null) {
                    exeSuffix = ".hex";
                }
                File dest = new File(sketchFolder, sketchName + exeSuffix);
                Base.copyFile(new File(buildFolder, sketchName + exeSuffix), dest);
                if (dest.exists()) {
                    dest.setExecutable(true);
                }
                

                if(editor != null) {
                    editor.updateFilesTree();
                }
            } catch(Exception e) {
                error(e);
            }
        }


        heading("Compiling done.");
        setCompilingProgress(100);

        if(editor != null) {

After Change


            }
        }

        if (!Base.isQuiet()) bullet("Compiling sketch...");
        setCompilingProgress(10);
        ArrayList<File>sketchObjects = compileSketch();

        if(sketchObjects == null) {
            error("Failed compiling sketch");
            return false;
        }

        if (!Base.isQuiet()) bullet("Compiling core...");
        setCompilingProgress(20);

        if(!compileCore()) {
            error("Failed compiling core");
            return false;
        }

        setCompilingProgress(30);

        if (!Base.isQuiet()) bullet("Compiling libraries...");

        if(!compileLibraries()) {
            error("Failed compiling libraries");
            return false;
        }

        setCompilingProgress(40);

        if (!Base.isQuiet()) bullet("Linking sketch...");

        if(!compileLink(sketchObjects)) {
            error("Failed linking sketch");
            return false;
        }

        setCompilingProgress(50);

        if(!compileEEP()) {
            error("Failed extracting EEPROM image");
            return false;
        }

        setCompilingProgress(60);


        if(props.get("compile.lss") != null) {
            if(Preferences.getBoolean("compiler.generate_lss")) {
                File redirectTo = new File(buildFolder, sketchName + ".lss");

                if(redirectTo.exists()) {
                    redirectTo.delete();
                }

                boolean result = false;

                String output = "";

                try {
                    ctx.startBuffer(true);
                    result = compileLSS();
                    output = ctx.endBuffer();
                    PrintWriter pw = new PrintWriter(redirectTo);
                    pw.print(output);
                    pw.close();

                } catch(Exception e) {
                    result = false;
                }

                if(!result) {
                    error("Failed generating listing");
                    return false;
                }

                if(Preferences.getBoolean("compiler.save_lss") && !parentIsProtected()) {
                    try {
                        Base.copyFile(new File(buildFolder, sketchName + ".lss"), new File(sketchFolder, sketchName + ".lss"));

                        if(editor != null) {
                            editor.updateFilesTree();
                        }
                    } catch(Exception e) {
                        error(e);
                    }
                }
            }

        }

        setCompilingProgress(70);

        if(!compileHEX()) {
            error("Failed converting to HEX file");
            return false;
        }

        if((
            Preferences.getBoolean("compiler.save_hex") || Base.cli.isSet("force-save-hex") || Base.cli.isSet("cli")) 
            && !parentIsProtected()) {
            try {
                String exeSuffix = props.get("exe.extension");
                if (exeSuffix == null) {
                    exeSuffix = ".hex";
                }
                File dest = new File(sketchFolder, sketchName + exeSuffix);
                Base.copyFile(new File(buildFolder, sketchName + exeSuffix), dest);
                if (dest.exists()) {
                    dest.setExecutable(true);
                }
                

                if(editor != null) {
                    editor.updateFilesTree();
                }
            } catch(Exception e) {
                error(e);
            }
        }


        if (!Base.isQuiet()) heading("Compiling done.");
        setCompilingProgress(100);

        if(editor != null) {